Git 常用命令
• git clone xxx(可以http or ssh)
• git branch -r 列出远程分支
• git branch -a 查看所有分支(本地和远程)
• git checkout branch1 切换分支
• git branch -vv 查看本地分支和远程分支的跟踪关系(*表示当前分支)
• git checkout -b branch1 origin/branch1 创建分支(追踪远程分支)
• Git pull origin master 远程origin主机master分支和本地当前分支合并
• git pull 当前分支自动与唯一追踪分支合并
• git add -u 提交修改和删除的文件,不包括新文件
• git add . 提交新文件和修改文件,不包括删除文件
• git add -a 提交所有变化
• q 退出log 记录
• git fetch 更新远程分支列表
• git branch -d xxx 删除本地分支xxx
• git clean -df // 清除本地 未被追踪的文件
• git reset --soft head~1. 回退1个版本 可提交
• git reset —hard // 恢复到上一个commit,彻底回退,不可提交
• git branch 查看所有本地分支
• git rest —hard HEAD
对于Tracked files如何删除:
1、git checkout . Or (— a.cs) 本地删除,拉取单个文件或者目录(放弃本地修改,未add\commit)
对于Untracked files如何删除:
1、git rm : 同时从工作区和索引中删除文件。即本地的文件也被删除了。
2、git rm --cached : 从索引中删除文件。但是本地文件还存在, 只是不希望这个文件被版本控制。
3、rm: 来删除文件,仅仅是删除了物理文件,没有将其从 git 的记录中剔除;
提示:即使你已经通过 rm 将某个文件删除掉了,也可以再通过 git rm 命令重新将该文件从 git 的记录中删除掉。
参考:git rm 用法解释
不同情况下的git 远程跟踪分支
1 远程没有分支,本地也没有分支
git check out -b test //创建并切换到新分支
git push --set-upstream origin test //推送到远程分支,并且跟踪远程分支
2 远程已经存在分支,本地不存在对应分支:
git checkout --track origin/test
或者git checkout -b newtest origin/test(该命令可以设置不同的分支名)
3 设置一个已有的本地分支跟踪一个刚刚拉取下来的远程分支:
git branch -u origin/test 或者 git branch --set-upstream-to=origin/test
4 删除本地跟踪的远程分支
git branch -r -d origin/branchname
5 删除git仓库上的远程分支
git push origin --delete branchname