git操作的常用命令,不是很全面,但是常用,个人开发笔记。
---------------------------------------------------------------------------------------------------
---------------------------------------分支操作-----------------------------------------------
1.察看项目的分支情况
#进入项目目录
cd REPOSITORIES/
git branch
# 注意前面的*号表示当前处于那个分支查看远程分支: git branch -r
2.创建新的分支
git branch newbranch #创建并进入新的分支 git checkout -b newbranch
3.切换到分支
分支切换的时候要注意一个问题:在切换过程中,上一个分支的修改会带到新的分支去。也就是说在分支切换的时候会带上修改。如果要避免这样情况,当然就是在切换之前把修改提交(commit)了。
git checkout newbranch #取消对file的修改 git checkout file
4.察看文件修改情况
git status
显示如下的代码:
# On branch new # Changes not staged for commit: # (use "git add/rm <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # deleted: build.xml # no changes added to commit (use "git add" and/or "git commit -a")
可以看到,他说删除了build.xml文件。现在是处于new分支
5.提交修改
#这样是提交到当前分支去的 git commit -am "commit message"
6.删除分支
git -d branch
-------------------------------------------------------------------------------------------------------
----------------------------------------------------合并操作--------------------------------------
git merge --type branch #其中的type可以是下面4种
合并当然要伴随这各种各样的问题拉,其中最重要的一个问题就是冲突的问题拉。冲突过后,会提示
Automatic merge failed; fix conflicts and then commit the result.
冲突的文件会更改为下面的样子,剩下的时间就得看自己去手动解决这里的冲突了。
<<<<<<< HEAD #这里是现在的代码 ------------------------- ======= #这里是拉过来冲突的代码 ++++++++++++++++++++++++ >>>>>>> master
-------------------------------提交-------------------------------------------
-------------------------------------------------------------------------------
git在提交的时候,有时候可能想当前的所有修改,使用命令
#该命令放弃当前 git status 显示的所有的修改 git reset #可以让版本回退到commit编号去 git reset --hard [commit编号]
如果只放弃某一个文件的修改,可以使用checkout命令
git checkout file #但是对于增加的文件,使用这个命令来放弃修改会有问题,它会提示说找不到文件,因为修改之前是没有该文件的。
git在提交的时候,会忽略一些类型的文件,这写配置在 项目的.gitignore 文件中,可以使用vi编辑这写内容
vi .gitignore
-----------------------------------------远程操作--------------------------------------
-----------------------------------------------------------------------------------------
检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v 添加远程仓库:$ git remote add [name] [url] 删除远程仓库:$ git remote rm [name] 修改远程仓库:$ git remote set-url --push[name][newUrl] 拉取远程仓库:$ git pull [remoteName] [localBranchName] 推送远程仓库:$ git push [remoteName] [localBranchName]
-----------------------------------比较操作---------------------------------------
在使用Git的过程中,我们有时候需要去对比代码的不同的地方。这时可以使用 diff 这的命令
# 对比commit_id1和commit_id2的不同地方,并用不同颜色区别出来, 注意 commit_id1 一定要比 commit_id2要早提交 git diff --color commit_id1 commit_id2
000
--------------保存当前修改状态-------------------------
有时候有这样的情况,当前编辑了一些文件,这时需要做reset、checkout等其他操作,这时又不想把编辑丢弃,提交了也不完整。这时需要git一个非常人性化的一个命令:git stash ,来保存当前的状态。
#保存当前编辑 git stash #恢复编辑 git stash apply
git pull 远程分支
#checkout的同时在本地同步一个远程origin上的serverbranch分支 git checkout --track origin/serverbranch
--