-
本地仓库与远程仓库关联;
方法一:
git clone ***方法二:
git init
git remote add origin *** -
添加追踪文件
git add 文件夹/ 添加整个文件夹及内容
git add *.文件类型 添加目录中所有此文件类型的文件
git add . :他会监控工作区的状态树,使用它会把工作时的所有变 化提交到暂存区,包括文件内容修改(modified)以及新文件(new)和删除的文件。
git add -u :他仅监控已经被add的文件(即tracked file),不会提交新文件(untracked file)。(git add --update的缩写) -
本地版本回退
git reset --hard HEAD 覆盖工作区
git reset HEAD file 将某个文件回退到最新状态,不会覆盖工作区
git checkout -- file 将工作区的文件还原至最新状态 -
本地分支与远程分支关联(远程追踪)
方法一:
git checkout -b lbname origin/rbname表示创建本地lbname分支,并切换到该分支,并与远程分支建立追踪关系
方法二:
在本地分支执行:
git branch -u origin/rbname方法三:
git push -u origin lbname
-u 参数为--set-upstream的缩写
语法:git push origin <source>:<destination>, 其中<>参数为refspec类型,是 Git 能识别的位置(比如分支 foo 或者 HEAD~1)查看地分支关联(跟踪)的远程分支之间的对应关系
git branch -vv
-
tag操作
git tag tagname [head] 创建tag
git checkout -b lbname tagname 把 tag 快照对应的代码拉取到一个分支上
git push --tags 将tags推送到远程仓库(git push默认不会推tags) -
分支合并
两个分支,master,bugFix
方法一: git merge (把目的分支的提交记录拿到当前分支,形成新的提交记录)
git merge master
git checkout bugFix
git merge master //此处可fast forward,因为合并后的提交继承自bugFix方法二: git rebase. (把当前分支的提交记录,拿到目的分支上)Rebase 实际上就是取出一系列的提交记录,“复制”它们,然后在另外一个地方逐个的放下去。
git rebase master
git checkout bugFix
git rebase master //此处fast forward。 -
冲突问题解决
git rebase 出现冲突后:
git rebase --abort 取消这次rebase操作,切回到原分支
git rebase --skip 忽略这次补丁,即这次要rebase的提交记录不要了
git rebase --continue 解决冲突后,git add, 然后继续这次rebasegit merge 出现冲突后:
手动解决冲突文件后
git add .
git commit -m '解决合并**的冲突' -
整理commit详细步骤
git rebase -i commitId
commitId 为从哪次提交开始整理。
pick =要这条commit ,什么都不改
reword =要这条commit ,但要改commit message
edit =要这条commit,但要改commit的内容
squash =要这条commit,但要跟前面那条合并,并保留这条的messages
fixup = squash +只使用前面那条commit的message ,舍弃这条message
exec =执行一条指令(但我没用过)注: 修改完成后,会一条条指令顺序执行。若有冲突,则停止; 修改完冲突后,(git add . git rebase --continue),指令会继续执行
-
更新远程分支列表
git remote update --prune
-
添加不追踪文件
git update-index --assume-unchanged <取消跟踪的文件>
已追踪的不想再追踪
git rm --cached -r 文件夹
git commit -m "****"注: 当我们需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了, 可以使用‘ git rm file_path’ ;当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制, 可以使用'git rm --cached file_path'
-
与远程的同步
git pull --rebase
参考:
https://www.cnblogs.com/dracohan/p/5241511.html
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
网友评论