linux下git的使用

版权声明:凡原创系列文章,均笔者的辛勤于中,如转载,请文章顶部注明来源。谢谢配合 https://blog.csdn.net/smilejiasmile/article/details/77414915

git的使用

1、初始化一个Git仓库,使用git init命令。

添加文件到Git仓库,分两步:

  • 第一步,使用命令git add ,注意,可反复多次使用,添加多个文件;

  • 第二步,使用命令git commit,完成。

  • 要随时掌握工作区的状态,使用git status命令。

  • 如果git status告诉你有文件被修改过,用git diff可以查看修改内容。

  • HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。

  • 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

  • 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

2、暂存区stage是Git非常重要的概念,Git跟踪并管理的是修改,而非文件。

  • Git是如何跟踪修改的,每次修改,如果不add到暂存区,那就不会加入到commit中。
  • 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout – file。
  • 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
  • 命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容

3、要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
关联后,使用命令git push -u origin master第一次推送master分支的所有 内容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

4、要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。
Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快
5、git 的版本切换

  • 一般会,先使用 git log或者 git log --pretty=oneline 找出 commit_id 。之后,便可以使用命令git reset --hard commit_id 切换版本了
  • 或者使用签出一个新的分支的方法,用git checkout -b commit_id的方法,创建一个新的分支,并切换到新的分支
  • 使用git branch 可以查看有哪些分支,注意看 master 分支前的 * 字符:它表示当前所在的分支。也就是说,如果现在提交更新,master 分支将随着开发进度前移。若要查看各个分支最后一个提交对象的信息,运行 git branch -v,然后可以用 git checkout 切换到对应的分支
  • 要从该清单中筛选出你已经(或尚未)与当前分支合并的分支,可以用 --merged 和 --no-merged 选项。比如用 git branch --merged 查看哪些分支已被并入当前分支(译注:也就是说哪些分支是当前分支的直接上游。)
  • 一般来说,列表中没有 * 的分支通常都可以用 git branch -d 来删掉。原因很简单,既然已经把它们所包含的工作整合到了其他分支,删掉也不会损失什么。
  • 另外可以用 git branch --no-merged 查看尚未合并的工作:它会显示还未合并进来的分支。由于这些分支中还包含着尚未合并进来的工作成果,所以简单地用 git branch -d 删除该分支会提示错误,因为那样做会丢失数据。

6、fork别人的代码后如何保持和原作者同步的更新

在GitHub上我们会去fork别人的一个项目,这就在自己的Github上生成了一个与原作者项目互不影响的副本,自己可以将自己Github上的这个项目再clone到本地进行修改,修改后再push,只有自己Github上的项目会发生改变,而原作者项目并不会受影响,避免了原作者项目被污染。但经过一段时间, 有可能作者原来的代码变化很大, 你想接着在他最新的代码上修改, 这时你需要合并原作者的最新代码过来, 让你的项目变成最新的。

1、先克隆项目到本地:
Git clone https://github.com/iakuf/mojo
cd mojo

2、添加原作者项目的 remote 地址, 然后将代码 fetch 过来
git remote add sri https://github.com/kraih/mojo
git fetch sri
‘sri’相当于一个别名
查看本地项目目录: git remote -v

3、合并
git checkout master
git merge sri/master
如果有冲突的话,需要丢掉本地分支:
git reset –hard sri/master

4、这时你的当前本地的项目变成和原作者的主项目一样了,可以把它提交到你的GitHub库
git commit -am ‘更新到原作者的主分支’
git push origin
git push -u origin master -f –强制提交

7、参见其他更加完整的 git 使用命令文档说明,如下:

https://www.cnblogs.com/wupeiqi/p/7295372.html

8、关于GitHub 的多人协同项目的创建及其介绍参见如下的文章

http://www.cnblogs.com/zhaoyanjun/p/5882784.html

猜你喜欢

转载自blog.csdn.net/smilejiasmile/article/details/77414915