一、使用git命令克隆代码
1、git clone 项目源地址 目标文件夹
二、提交commit
1、每次改代码前要先更新最新的代码:git pull
2、修改项目
3、查看修改的代码:git status
4、查看文件的diff:git diff 文件名
5、将修改提交到buffe:git add 文件名
6、如何要将add的撤销掉:git reset head 文件名
7、添加文件备注: git commit -m "xxx"
8、代码开发完毕,上传代码: git push origin HEAD:refs/for/master
三、添加新改动的文件到已经提交的commit上
1、git add 文件名
2、git commit --amend(这条实用命令, 其可以用来修改最后一条提交的 commit message, 也可以追加新的修改)
四、撤销git commit --amend
1、如果只 amend 了一次, 那么直接用 git reset HEAD@{1} 就可以撤销这次 amend:
git reset --soft HEAD@{1},撤销到暂存区
git reset --hard HEAD@{1},干掉这个修改
2、如果 amend 多次, 就参考 git reflog ,找到对应的 HEAD@{n},进行撤销.
五、回退到某个版本
1、查看版本信息:git log
2、git reset --mixed:默认方式,不带任何参数的git reset,回退到某个版本,保留源码,回退commit和index信息
2、git reset --soft:回退到某个版本,只回退了commit信息,不会恢复到index file以及,如果还要提交,直接git commit -m""
3、git reset --hard:彻底回退到某个版本,丢弃本地代码(慎用)
4、git reset HEAD:回退到某个版本,保留源码,回退commit。
六、分支相关
1、创建分支: git checkout -b 分支名
2、切换分支:如果当前有修改,先git stash,再git checkout 分支名
3、删除分支:
删除本地分支:git branch -D 分支名
删除远程分支:git push origin --delete 分支名
4、将本地分支和远程分支进行关联
当我想从远程仓库里拉取一条本地不存在的分支时:
git checkout -b 本地分支名 origin/远程分支名
这个将会自动创建一个新的本地分支,并与指定的远程分支关联起来。
例如远程仓库里有个分支dev2,我本地没有该分支,我要把dev2拉到我本地:
若成功,将会在本地创建新分支dev2,并自动切到dev2上。
5、查看本地分支和远程分支的对应关系
git branch -vv
七:撤销git pull
1、撤销git pull
1.1、运行git reflog命令查看你的历史变更记录
1.2.然后用git reset --hard HEAD@{n},(n是你要回退到的引用位置)回退。
八:撤销git commit
1、git reset --soft HEAD^
1.1、HEAD^的意思是上一个版本,也可以写成HEAD~1
1.2、如果你进行了2次commit,想都撤回,可以使用HEAD~2
2、其他参数
2.1、--mixed
意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
2.2、--soft
不删除工作空间改动代码,撤销commit,不撤销git add .
2.3、--hard
删除工作空间改动代码,撤销commit,撤销git add .
注意完成这个操作后,就恢复到了上一次的commit状态。