Git命令删除已经添加到仓库中的文件

如果删除文件,则使用该git add .命令将文件删除添加到暂存区域。

1
2
3
4
5
6
# remove the "test03" file
rm test03
# add and commit the removal
git add .
# if you use Git version < 2.0 use: git add -A .
git commit -m "Removes the test03 file"

或者,您可以使用该git rm命令从工作树中删除文件,并在暂存区域中记录文件的删除。

使用Git暂存修改

在将更改提交到Git存储库之前,您需要标记应该使用该git add命令提交的更改。此命令允许将文件系统中的更改添加到暂存区域。它会创建受影响文件的快照。您可以使用.选项或更改单个文件,但将文件模式指定为选项,将所有更改添加到暂存区域。

1
2
# add all files to the index of the Git repository
git add .

然后git status再次运行该命令以查看当前状态。以下清单显示了此命令的输出。

1
2
3
4
5
6
7
8
9
10
11
On branch master

Initial commit

Changes to be committed:
(use "git rm --cached <file>..." to unstage)

new file: datafiles/data.txt
new file: test01
new file: test02
new file: test03

使用命令初始化Git仓库

您现在使用工作树创建一个新的Git存储库。

每个Git存储库都存储在.git创建Git存储库的目录的文件夹中。该目录包含存储库的完整历史记录。该.git/config文件包含存储库的配置。

使用此git init命令在当前目录中创建Git存储库。Git并不关心你是从一个空目录开始还是包含已经存在的文件。

1
2
3
4
5
6
# you should still be in the repo01 directory
cd ~/repo01

# initialize the Git repository
# for the current directory
git init

存储库文件夹中的所有文件(不包括.git文件夹)都是Git存储库的工作树。

使用Git命令切换分支

查看远程分支

$ git branch -a 我在mxnet根目录下运行以上命令:

1
2
3
4
5
6
7
~/mxnet$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/nnvm
remotes/origin/piiswrong-patch-1
remotes/origin/v0.9rc1

可以看到,我们现在在master分支下

查看本地分支

1
2
~/mxnet$ git branch
* master

切换分支

1
2
3
4
5
6
7
8
9
10
11
$ git checkout -b v0.9rc1 origin/v0.9rc1
Branch v0.9rc1 set up to track remote branch v0.9rc1 from origin.
Switched to a new branch 'v0.9rc1'
#已经切换到v0.9rc1分支了
$ git branch
master
* v0.9rc1
#切换回master分支
$ git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.

设置Git默认编辑器

默认情况下,Git使用系统默认编辑器,该编辑器取自VISUALEDITOR环境变量(如果已设置)。您可以通过以下设置配置不同的一个。

1
2
# setup vim as default editor for Git (Linux)
git config --global core.editor vim

还原工作树中文件的更改

使用该git checkout命令将跟踪的文件(曾经暂存或提交的文件)重置为其最新的暂存或提交状态。该命令将删除工作树中文件的更改。此命令不能应用于尚未暂存或已提交的文件。

1
2
3
4
5
6
7
8
9
10
11
12
echo "useless data" >> test02
echo "another unwanted file" >> unwantedfile.txt

# see the status
git status

# remove unwanted changes from the working tree
# CAREFUL this deletes the local changes in the tracked file
git checkout test02

# unwantedstaged.txt is not tracked by Git simply delete it
rm unwantedfile.txt

如果使用git status命令查看工作目录中没有剩余更改。

用户凭据配置

您必须至少配置您的用户和电子邮件地址才能提交到Git存储库,因为此信息存储在每个提交中。

1
2
3
4
5
6
7
8
9
10
# configure the user which will be used by Git

# this should be not an acronym but your full name

git config --global user.name "Firstname Lastname"


# configure the email address

git config --global user.email "your.email@example.org"

查看Git设置

要查询您的Git设置,请执行以下命令:

1
git config --list

如果要查询全局设置,可以使用以下命令。

1
git config --global --list

设置默认合并工具

在组合相同文件的不同版本的操作期间,Git中可能会发生文件冲突。在这种情况下,用户可以直接编辑文件以解决冲突。

Git还允许配置合并工具来解决这些冲突。您必须使用第三方视觉合并工具,如tortoisemerge,p4merge,kdiff3等.Google搜索这些工具可帮助您在平台上安装它们。请记住,不需要此类工具,您始终可以直接在文本编辑器中编辑文件。

安装完成后,可以使用以下命令将所选工具设置为默认合并工具。

1
2
3
4
5
# setup kdiff3 as default merge tool (Linux)
git config --global merge.tool kdiff3

# to install it under Ubuntu use
sudo apt-get install kdiff3

查看Git仓库当前状态

git status命令显示工作树的状态,即哪些文件已更改,哪些文件已暂存,哪些文件不是暂存区域的一部分。它还显示哪些文件存在冲突,并指示用户可以对这些更改执行的操作,例如,将它们添加到暂存区域或删除它们等。

通过以下命令运行它。

1
git status

输出类似于以下列表。

1
2
3
4
5
6
7
8
9
10
11
12
13
On branch master

Initial commit

Untracked files:
(use "git add <file>..." to include in what will be committed)

datafiles/
test01
test02
test03

nothing added to commit but untracked files present (use "git add" to track)
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×