git命令小总结

1.提交代码步骤

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

运行git status命令

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

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

Untracked files:代表未跟踪的文件

《git命令小总结》

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

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

 《git命令小总结》

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 .命令价格所有文件添加。

《git命令小总结》

《git命令小总结》

《git命令小总结》

1.4    查看状态

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

 《git命令小总结》

1.5    提交已暂存的文件

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

1.6    查看commit提交的内容

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

 《git命令小总结》

1.7    同步到服务器

git push origin <本地分支名>

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

 《git命令小总结》

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。

 《git命令小总结》

3.2    切换分支

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

 《git命令小总结》

3.3    运行cherry-pick命令

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

《git命令小总结》

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指的是下图中黄色字体的部分。

 《git命令小总结》

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

 

点赞