Linux git工具命令积累 目录
#########################分割线#########################
【branch命令】
–set-upstream-to=:设置本地分支追踪远程分支
例如:git branch --set-upstream-to=origin/master master
–set-upstream:设置本地分支追踪远程分支
例如:git branch --set-upstream 123 origin/123
-D:删除一个本地分支
例如:git branch -D master
【fetch命令】
git fetch [remotes name]:获取远程端分支
例如:远程端有一个 origin/123 分支,目前在本地执行 git branch -a,得到:
*master
remotes/origin/master
没有看到 origin/123 分支,然后执行 git fetch origin,再执行 git branch -a,得到:
master
*123
remotes/origin/master
remotes/origin/123
【cherry-pick命令】
git cherry-pick [commit]:合并其他分支的提交到当前分支
例如:当前在分支 123 ,另外有一个分支 456 ,git checkout 456,切换到 456 分支之后,git log 查看提交记录,选择一个 commit:7b771a045639324a7448cbfdb46137986bbbf0bb,然后,git checkout 123,切换到 123 分支,执行 git cherry-pick 7b771a045639324a7448cbfdb46137986bbbf0bb,将此次提交合并到当前 123 分支,如果出现冲突,需要手动修改再合并!
【push命令】
–delete:删除远程仓库的分支
例如:远程端有一个 origin/123 分支,执行如下命令将删除远程分支:
git push origin --delete 123
-f:强制使用本地分支更新远程分支
例如:远程端有一个 origin/123 分支,本地也有一个123分支,但是两个分支的commit是冲突的,想用本地分支覆盖远程分支:
git push -f origin 123
【reset命令】
–hard:回退代码到某一次提交
git reset --hard [commit] :这种回退会改变当前分支源码,
另外有“–soft”,“–mixed”,这两种不会回退源码!
【remote命令】
add:将本地仓库和远程仓库链接,并命名
git remote add origin git_address
例如:git remote add ytutu git@gitlab.com:xxx.git
将本地仓库和远程“git@gitlab.com:xxx.git”链接起来,并起个名字叫“ytutu”,以后想要push的时候,直接 git push ytutu 123 ,就可以将本地 123 分支push到远程仓库
remove:删除已经命名的一个远程仓库链接
git remote remove origin
show:查看本地仓库有哪些已经命名的远程仓库链接
git remote show :显示已有的远程仓库链接
git remote show origin:显示远程仓库链接 origin 的详细信息
【config命令】
core.fileMode:是否跟踪文件权限的改动
git config core.fileMode false
不去跟踪文件权限的改动,如下命令可以查看当前状态:
cat .git/config
[core]
repositoryformatversion = 0
fileMode = false
bare = false
logallrefupdates = true
[remote "origin"]
url = https://gitlab.com/xxxx.git
fetch = +refs/heads/*:refs/remotes/origin/*