git命令小总结

1.提交代码步骤

1.1    查看目前代码的修改状态

运行git status命令

Change to be committed:代表已暂存的文件

Changed not staged for commit: 代表已修改的文件

Untracked files:代表未跟踪的文件

1.2    查看代码修改的内容(此步骤可省略)

git diff查看未暂存文件更新的部分。

 

git diff <fileName> : 查看指定文件的更新的部分。

1.3    暂存需要提交的文件

1.3.1          对于Changed not staged for commit的文件,根据提示选择是提交文件还是不提交文件:

git add <file>:将文件添加到暂存文件。

git rm <file>:删除文件,并且会有删除记录。

git checkout -- <file>:将文件恢复成未修改的样子。

1.3.2    对于Untracked files文件,根据提示选择要提交的文件:

git add <file>:将文件添加到暂存文件。

如果是不需要提交的代码,可以使用.gitignore文件进行忽略。

步骤:vi .gitignore

进入.gitignore文件之后,按i键进入编写状态,将不需要提交的文件全部写入.gitignore文件中,在文件末端加入.gitignore,这样就不会出现.gitignore已修改的跟踪。

先按Esc键,在同时按shift+:键,输入wq,保存编写内容与退出vi。

在只剩下需要的提交的文件时,可以使用git add .命令价格所有文件添加。

1.4    查看状态

进行完上面的1.3步骤之后,查看一下目前代码的状态,此时,Change to be committed部分是准备提交的代码,Changed not staged for commit与Untracked files部分为空。

 

1.5    提交已暂存的文件

使用命令git commit,在文件的前面书写本次提交的内容。

1.6    查看commit提交的内容

运行命令git log,查看提交日志。

 

1.7    同步到服务器

git push origin <本地分支名>

如果出现remote: New Changes: remote:   http://review.rnd.meizu.com/203495说明提交成功,在浏览器可以看到提交的内容。

 

2.遇到的问题与解决方法

2.1    提交代码到指定的commit上

代码如果未审核,可以使用这个,如果代码已经审核,需要提交新的commit。

2.1.1   查看最近一条log是不是需要修改的那一条

使用git log查看,如果最近一条就是需要修改的那一条,则直接进行下一步,如果不是,则需要使用命令git reset --soft commit_id 将最近一条修改为需要修改的commit记录。

2.1.2    修改文件

使用git add添加修改。

2.1.3   提交已暂存的代码

使用命令git commit --amend提交修改内容。

2.1.4   提交代码

使用git push origin <本地分支名> 命令提交代码。

2.2    git push 命令运行错误

错误:remote: Hint: To automatically insert Change-Id, install the hook:

remote:gitdir=$(git rev-parse --git-dir); scp -p -P 29418 zhangmiao@review.rnd.meizu.com:hooks/commit-msg ${gitdir}/hooks/

解决方法,运行gitdir=$(git rev-parse --git-dir); scp -p -P 29418 zhangmiao@review.rnd.meizu.com:hooks/commit-msg ${gitdir}/hooks/

然后将代码提交到指定的commit上。

3.git cherry-pick的使用

如果想要将分支A上提交过的commit提交到分支B,可以使用cherry-pick命令。

3.1    记录分支A上已经提交过的commit_id

在分支A上运行git log命令,查看需要提交的commit_id。

 

3.2    切换分支

先使用git status命令查看目前代码的修改状态,如果代码无修改状态,才可以切换分支,如果有修改,则无法切换分支。然后使用命令git checkout B切换到分支B。

 

3.3    运行cherry-pick命令

使用git status命令查看代码的修改状态,无修改状态后运行git pull更新本地分支代码,最后运行git cherry-pick commit_id提交分支A上的commit。

3.4     提交代码

使用git push origin <本地分支名> 命令提交代码。

4.合并提交

如果提交多次,想要把提交合并,可以使用git rebase –I commit_id命令。这里指的合并是指未同步到服务器的。

4.1    查看commit_id

使用git log查看提交日志。

Git log:

Commit A

Commit B

Commit C

4.2    合并提交

将A与B合并成一个Commit,则运行命令git rebase –I commitC_id,然后将b的前面修改为s,然后退出rebase。

4.3    同步到服务器

查看git log,可以看到Commit A与Commit B变成了一个Commit。然后按照1.7的方法同步代码到服务器即可。

5.Commit_id注解

本文中所说的commit_id指的是下图中黄色字体的部分。

 

6.查看与修改用户名与邮箱

6.1    查看用户名和邮箱地址:  

  git config user.name
  git config user.email

6.2   修改用户名和邮箱地址: 

  git config --global user.name "username"
  git config --global user.email "email"

7.上传本地已经存在的项目到github上

  先在github上创建一个repository,比如名字为test。

  在项目文件夹打开git。

  git init

  git add .

  git commit -m "init"

  git remote add origin https://github.com/ZhangMiao147/test.git

  git push -u origin master

 

posted on 2016-09-03 15:00  zhangmiao14  阅读(722)  评论(0编辑  收藏  举报