Git 一些场景下的命令组合
刚接触git的时候,难免不知道git一些具体命令的含义。这里列举了一些常见场景的git命令组合,并且简单介绍下它们的含义,详细的说明,以后频繁使用到可以去看下git的官方说明文档。
克隆别人的项目修改后到推送到自己的项目中去。
- 以 https://github.com/gorilla/websocket.git 这个仓库为例
git clone https://github.com/gorilla/websocket.git
git checkout -b edit origin/master # 创建特定的分支
(git checkout -b edit v1.4.2 # 从指定的tag切分支出来 git tag 可以查看当前仓库有哪些tag)
git remote rm origin # 把远程仓库的信息干掉,当前的项目是从远程clone下来的,origin的信息就是你clone的那个仓库的
git remote add origin [你的仓库clone地址,最好使用SSH的那个] # 把远程仓库信息指定成你自己的仓库,不然git也不知道要把你的代码推送到哪里去
(如果你远程仓库有你想要合到本地的代码,可以执行 git pull -r,有冲突解决代码冲突即可)
git add . # 添加所有的文件
git commit -m "some edit for me" # 提交commit
git push origin HEAD:edit # 把代码推送到远程。推送HEAD这个commit到远程的edit这个分支(远程分支不存在的时候,会自动创建一个)
(git push --set-upstream origin edit #推动代码到远程可以使用这个命令,这个命令的作用和上面的比较类似,推动HEAD(默认)这个commit到远程edit这个分支。使用这个命令有个好处,下次想直接把当前的commited的代码,推到远程,直接执行 git push即可,不用执行git push origin HEAD:edit
经过以上步骤,应该都可以实现自己的目的,顺带一提,把别人的代码fork一下,然后自己拉下来修改,会简单很多。fork -> git clone 自己的仓库 -> 后续步骤就一模一样了。