1、创建分支
git branch testing
(使用 git branch 命令,创建一个 testing 分支)
git branch
查看当前自己所在的分支
git branch -a
查看服务器的所有分支以及自己当前所在的分支
git push origin testing
(把命名为testing的本地分支推送到服务器)
git checkout --track origin/testing
(切换为远程服务器上的命名为testing的远程分支)
如果你的搭档要把他本地的分支给关联到服务器上命名为testing的远程分支,请执行以下操作,git branch --set-upstream localTesting origin/testing
(为本地分支添加一个对应的远程分支 与之相对应)->这行命令用来关联本地的分支与服务器上的分支
完成以上操作之后,就可以进行提交代码了,但是在提交代码之前,你要确定你当前所在的分支
git push origin testing
(提交代码到远程服务器上命名为testing的分支上)
git pull origin testing
(从远程分支上拉取代码)
2、分支切换
git checkout testing
(使用 git checkout 命令,切换到已存在的 testing 分支)
3、项目分叉历史
git log
(使用git log命令查看分叉历史。 运行 git log --oneline --decorate --graph --all ,它会输出你的提交历史、各个分支的指向以及项目的分支分叉情况。)
4、SourceTree超前一个版本,落后N个版本的情况解决
git reset --hard HEAD^
撤销最近的一次提交,回到push之前的状态。但是所有commit的内容就都消失了。非常不建议用这个参数,会牺牲太多的代码
如果不想让commit消失,可以改一下参数。用这个参数可以保证你提交的代码原封不动的保存下来。前提是你本地的工作台是干净的。如果不是请把所有代码都暂存。
git reset --soft HEAD^
执行这句话之后重新拉取一遍代码就可以了,push的都会撤销回来。
如果想一次回退多个push,可以这样:(例子是撤销最近三次的提交)
git reset --soft HEAD~3
如果想回退到某个指定版本,在终端中输入:
git reset --soft 7884db7
7884db7是要回退到的版本号,根据具体情况而定,这里只是举例子。
版本号可以不写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为git可能会找到多个版本号,就无法确定是哪一个了。
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
。
穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。