Git代码管理-操作命令

Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能。Git有很多优势,其中之一就是远程操作非常简便。

代码提交一般有五个步骤:
  1. 查看目前代码的修改状态
  2. 查看代码修改内容
  3. 暂存需要提交的文件
  4. 提交已暂存的文件
  5. 同步到服务器
git 命令:
  1. 克隆代码
    git clone 代码仓库地址 文件夹名
  2. 提交代码基本步骤
    2.1 git status (查看本次修改的文件列表)
    2.2 git add 要提交的文件名 (添加单个要提交的文件) /git add . (提交git status中看到的所有修改)
    强制提交 git add -f TKApp/TKApp.xcodeproj/project.xcworkspace/xcuserdata/
    2.3 git commit -m”注释” -a (这个命令我的理解是提交到本地仓库,没查过)
    2.4 git pull (down远程仓库的更新)
    (有冲突要解决冲突)
    2.5 git push (提交合并后的代码)
分支相关:

git checkout --track origin/xed 从服务器下载分支
git pull origin xed 下载代码
git push origin xed 提交代码

git branch 1.1.3appstore 创建分支
git branch 查看分支
git branch -a 查看本地和远程分支
git checkout 1.1.3appstore 切换分支
git merge origin/im 合并分支

git branch -d XXXXX 删除本地分支
git push origin :branch-name 删除远程分支
冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支。

git信息查看和日志查看:

git log
git show
git show branch
git show index
git show ref

回退代码

pull 错分支之后 用git log 查看日志,用
git reset --hard be2e1378b6aeaac9b45893be1cb2faa423570e8c 命令回退。
如果想撤销commit但又想保留本地代码,可以用下面命令撤销
git reset --soft HEAD~n (n代表第几次提交)

git fetch:相当于是从远程获取最新版本到本地,不会自动merge
git checkout . 本地所有修改的。没有的提交的,都返回到原来的状态
git stash 把所有没有提交的修改暂存到stash里面。可用git stash pop回复。
git reset --hard HASH 返回到某个节点,不保留修改。
git reset --soft HASH 返回到某个节点。保留修改

详解

1. 查看目前代码的修改状态

提交代码之前,首先应该检查目前所做的修改,运行git status命令

  • 已暂存 (changes to be committed)

new file //表示新建文件
modified //表示修改文件
deleted //表示删除文件

  • 已修改 (changed but not updated)

modified //表示修改文件
deleted //表示删除文件
另外,git 给出了可能需要的操作命令,git add/rm, gitcheckout --

  • 未跟踪 (untracked files)
2. 查看代码修改的内容

git diff
比较某文件与最近提交节点的差异。
注意:如果该文件已暂存,那么应该使用git diff –cached

git diff
比较某文件在提交节点a,节点b的差异。
技巧:如果省略后面一个hashcode,则默认表示与上一提交节点比较。(也可以利用^运算符)

3. 暂存需要提交的文件

如果是新建的文件
则git add

如果是修改的文件
则git add

如果是删除的文件
则 git rm

4. 提交已暂存的文件

git commit
注意注释填写规范。

git commit --amend
修改最近一次提交。有时候如果提交注释书写有误或者漏提文件,可以使用此命令。

5. 同步到服务器

同步到服务器前先需要将服务器代码同步到本地
命令: git pull
如果执行失败,就按照提示还原有冲突的文件,然后再次尝试同步。
命令:git checkout -- <有冲突的文件路径>

同步到服务器
命令: git push origin <本地分支名>

如果执行失败,一般是没有将服务器代码同步到本地导致的,先执行上面的git pull命令。

参考:http://www.ruanyifeng.com/blog/2014/06/git_remote.html

你可能感兴趣的:(Git代码管理-操作命令)