git常用命令
下载整个项目
git clone xxx
下载某个分支的某个文件
git checkout master xxx.cpp
覆盖本地修改
比如你改了一个文件xxx.cpp,但是你觉得自己改的不对.想回退到和远程仓库master分支的代码一致.
- git fetch //拉取最新代码到本地仓库
- git checkout orgin/master xxx.cpp
切换分支
git checkout -b myownbranch //-b 不存在则创建myownbranch分支
代码下载下来后,最好不要在原有分支修改.比如你clone了master分支下的代码到本地后
- git checkout -b [yourbranch]
- 修改代码,自测
- git commit -a -m ‘my comments’ //-a提交所有修改
- git push //这时候远程仓库会出现分支yourbranch
在git push之前,所有的修改都是本地的. - 在网页端提交merge请求,进行了代码review后,把yourbranch的合入master分支.
提交本地修改到远程主机
git push <远程主机名> <本地分支名>:<远程分支名>
例如:
git push origin master:master
git push origin :master //推送空分支到远程仓库的master分支,相当于删除远程仓库的master分支.
查看当前代码与远程仓库代码差异
git diff –cached
查看当前的git状态
git status
会显示当前未提交的修改有哪些.
修改文件并提交
修改了代码xxx.cpp yyy.cpp
直接git commit -a -m ‘your comments’//-a提交所有的修改
或者
git add xxx.cpp
git commit xxx.cpp -m ‘your comments1’
git add yyy.cpp
git commit yyy.cpp -m ‘your comments2’
新增文件的提交
改完代码直接git commit -a的话是不会把新增的文件也commit的.要先git add.
git add xxx.cpp
查看当前的工作分支
git branch
带*号的就是当前工作分支
git branch -a 显示所有分支,包括远程仓库的
查看远程仓库
git remote -v
显示远程仓库名.默认是origin
查看提交日志
git log
合并多笔提交
git format-patch [commitkey]
git am
patch -p1 < 0002-add-install.sh.patch
git am –amend