git 学习

基本操作:

git add file //将file添加到暂存区

git add -A  //将所有文件/操作都添加到暂存区

 git commit file  //表示指定只提交这个file 相关的操作.

git add/commit  file1 file2  //表示同时添加/提交两个文件

git commit -a -m "备注"   //全部提交所有处于暂存区的操作

git push   //推送当前分支到remote

git pull   // 更新 和合并远程remote 分支到当前分支。 

 

文件的撤销和恢复:

git checkout  -- file 可以撤消没有add 到缓存区的所有修改,不能撤消add 到缓存区的内容.还可以恢复删除的文件,只要还将删除这个操作add到缓存区都可以用checkout 恢复文件.  这里的 file 是实际文件,而不是参数

git reset --hard HEAD^ 可以撤消上一个add 操作或者commit 的操作 到上一个commit 状态.

git reset HEAD <file>..." 撤出暂存区,就是撤消了add 的操作回到修改区

 

# 删除 untracked files

git clean -f
# 连 untracked 的目录也一起删掉
git clean -fd
# 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)
git clean -xfd
# 在用上述 git clean 前,墙裂建议加上 -n 参数来先看看会删掉哪些文件,防止重要文件被误删
git clean -nxfd
git clean -nf
git clean -nfd

查看文件修改的内容: 

git diff  file      查看file 文件修改了那些内容,只有file处于被修改状态才可以看.处于add 和commit 之后就查看不到了.

  

分支:

git push -u origin dev  推送当前本地分支到远程分支并建立关联,如果远程分支不存在则新建

git branch -u origin/dev  当前分支和远程分支建立关联

 

分支查看

git branch -a  //查看所有分支

git branch  //查看所有本地分支,默认分支为master

 //查看当前分支的日志,以图像的形式显示出来

git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative

 

 

分支创建:

git branch name  //创建一个名为name的分支库.在分支库上做的修改不会影响其他分支的内容

git checkout -b  dev master  //以master 为基础创建dev 分支,并切换到dev分支,如果当前分支为master 则可忽略master

 

 

分支删除:

git branch -d name  //删除本地分支

git branch -r -d origin/dev  //删除远程分支在本地的关联

git push origin :dev  //删除远程分支; 命令全名是 git push <远程主机名> <本地分支名>:<远程分支名>,所有这个删除相当于push 一个空到远程分支

 

分支切换和合并

git checkout name ,切换到名为 name 的 分支.

git merge dev  合并名为dev 的分支到当前分支,默认情况下,Git执行"快进式合并"(fast-farward merge),会直接将当前分支指向name分支

git merge --no-ff dev  #推荐  //合并分支dev 到当前分支,使用参数--no-ff 后,会执行正常合并,在当前分支上生成一个新节点。为了保证版本演进的清晰,我们希望采用这种做法

 

注意事项:

所有操作在没有add 之前都不能git commit

没有git commit 之前不能git checkout到其他分支。  但是如果删掉文件之后没有git commit 也可以git checkout 到其他分支,结果是删除操作会被撤消.

 

推荐看 http://www.ruanyifeng.com/blog/2014/06/git_remote.html
http://www.ruanyifeng.com/blog/2015/08/git-use-process.html
 

原文地址:https://www.cnblogs.com/predisw/p/4758953.html