git基本操作

获取与创建项目命令

git init

用 git init 在目录中创建新的git仓库。你可以在任何时候,任何目录中这么做,完全是本地化的。
在目录中执行git init ,就可以创建一个git仓库了。

基本快照

git add

git add 命令可将该文件添加到缓存。
当我们添加了两个新文件之后,通过 git status 命令查看项目当前的状态

$ touch README
$ touch hello.py
$ ls
README        hello.py
$ git status -s
?? README
?? hello.py

接下来通过 git add 添加文件:

$git add README hello.py

现在执行 git status 命令:

$ git status -s
A  README
A  hello.py
$ 

通过 git add . 命令来添加所有文件。

当我们对文件进行修改之后,比如 README,我们再执行git status

$ git status -s
AM README
A  hello.py

‘AM’ 状态的意思是,这个文件在我们将它添加到缓存之后,又进行了改动。改动之后,在进行 git add 命令:

$ git add .
$ git status -s
A  README
A  hello.py

git status

git status 命令用来查看上次提交之后是否有修改。
-s 参数:获得简短的结果输出。不加参数会输出详细内容。

$ git status
On branch master

Initial commit

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

    new file:   README
    new file:   hello.py

git diff

执行 git diff 来查看执行 git status 的结果的详细信息。
git diff 命令显示已写入缓存与已修改但尚未写入缓存的改动的区别。git diff 有两个主要的应用场景。
 
 尚未缓存的改动:git diff
 查看已缓存的改动: git diff --cached
 查看已缓存的与未缓存的所有改动:git diff HEAD
 显示摘要而非整个 diff:git diff --stat

git commit

使用git add 命令将想要快照的内容写入缓存区,而执行 git commit 将缓存区内容添加到仓库中。
git 为你的每一个提交都记录你的名字与电子邮箱地址,所以第一步需要配置用户名和邮箱地址。

$ git config --global user.name 'dsprain'
$ git config --global user.email dsprain@email.com

接下来我们写入缓存,并提交对修改文件的所有改动。
-m : 在命令行中提供提交注释

$ git commit -m '第一次版本提交'

当我们记录了所有快照之后,在执行 git status:

$ git status
# On branch master
nothing to commit (working directory clean)

以上输出说明在最近一次提交之后,没有做任何改动。
如果没有设置-m,git 会尝试为你打开一个编辑器,用以填写提交信息。(编辑器若没有配置,默认可能是vim、nano)

git commit -a
如果你觉得 git add 提交缓存的流程太过繁琐,Git 也允许你用 -a 选项跳过这一步。命令格式如下:

git commit -am '跳过git add'

git reset HEAD

git reset HEAD 命令用于取消已缓存的内容。

例:对 README 和 hello.py 进行修改,并提交到缓存区之后,取消对hello.py的缓存。

$ git status -s
 M README
 M hello.py
 
$ git add .
$ git status -s
M  README
M  hello.py

$ git reset HEAD hello.py
Unstaged changes after reset:
M    hello.py

$ git status -s
M  README
 M hello.py

现在执行 git commit ,只会将README文件的改动提交,hello.py 不会被提交。

$ git commit -m '修改'
[master f50cfda] 修改
 1 file changed, 1 insertion(+)
$ git status -s
 M hello.py

执行 git reset HEAD 以取消之前 git add 添加,但不希望包含在下一提交快照中的缓存。

git rm

删除文件时,如果只是简单的从工作目录中手工删除文件,运行 git status 时就会出现 Changes not stages for commit 的提示。
要从git中移除某个文件,就必须要从已跟踪文件清单中移除,然后提交。

git rm <file>

如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f

git rm -f <file>

如果把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,使用 --cached 选项即可

git rm --cached <file>

可以递归删除,即如果后面跟的是一个目录做为参数,则会递归删除整个目录中的所有子目录和文件:

git rm –r * 

git mv

git mv 命令用于移动或重命名一个文件、目录、软连接。

$ git mv README  README.md
$ ls
README.md
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值