学习git小笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/IOSSHAN/article/details/72902855

学习git小笔记

在学习git中的一些小笔记

常用的几个UNIX命令:

  • pwd: 显示当前目录的名称
  • cd: 改变当前操作的目录,例如:cd /Users/Documents/gittext,将会改变目录至新的目录
  • ls: 列出当前目录下的内容
  • ls -l: 列出当前目录下的内容(信息更加详细)
  • mkdir: 新建一个目录,例如:mkdir gittest 会新建一个gittest文件夹
  • touch: 新建一个文件,例如: touch test1.txt 会新建一个test1.txt的文件
  • open: 打开一个文件,例如:open test1.txt 会将test1.txt的文件打开
  • 按下tab键,会将后面的名称补全

/ 根路径
./ 当前路径
.// 上一级路径


如果进入vim模式,如何退出?

  • 按下esc
  • 输入:wq(保存退出) 输入:q!(不保存退出)

  • git init把当前目录变成Git可以管理的仓库
  • git add 告诉Git,把文件添加到仓库,可反复多次使用,添加多个文件,例如:git add test1.txt。每次修改,如果不add到暂存区,那就不会加入到commit中
  • git commit -m “第一次测试”,提交。”“里面是本次提交的说明
  • test1.txt文件中添加如下:

    1 买奇瑞瑞虎3还是艾瑞泽5,这是一个问题?

    2 要不买个五菱宏光吧

  • git status:时刻掌握仓库当前的状态,命令看看结果

  • git diff:查看文件的difference:
diff --git a/test1.txt b/test1.txt
index e69de29..059733f 100644
--- a/test1.txt
+++ b/test1.txt
@@ -0,0 +1,2 @@
+1 买奇瑞瑞虎3还是艾瑞泽5,这是一个问题?
+2 要不买个五菱宏光吧
\ No newline at end of file

注意,git diff不过是显示还没有暂存起来的改动,而不是这次工作和上次提交之间的差异。所以有时候你一下子暂存了所有更新过的文件后,运行 git diff 后却什么也没有,就是这个原因。

  • git log查看提交历史,以便确定要回退到哪个版本
  • git reset --hard xxxxxxxx返回到某一个版本号,版本号没必要写全,前几位就可以了,Git会自动去找。
  • cat test1.txt查看文件内容
  • git reflog查看每一次的命令历史
  • git checkout -- test1.txt把test1.txt文件在工作区的修改全部撤销,这里有两种情况:一种是test1.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;另一种是test1.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
  • git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区。git rese命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。例如:git reset HEAD test1.txt

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout – file。

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考回退,不过前提是没有推送到远程库。

  • git rm readme.txt删除readme.txt
  • git commit -m "删除readme.txt"删除后提交
  • 如果只执行了git rm readme.txt,并没有commit,想把删除的readme.txt再恢复出来,需要两步:git reset HEAD,然后执行git checkout -- readme.txt
  • git push把本地库的内容推送到远程,实际上是把当前分支master推送到远程。
  • git push origin master
  • git clone 远程仓库URL地址把远程仓库的东西克隆到本地
  • git checkout -b dev创建dev分支,然后切换到dev分支,相当于两个命令: git branch devgit checkout dev(切换到dev分支)
  • git branch查看当前分支
 * dev
  master
  • git merge dev将dev分支的工作成果合并到master分支上
  • git branch -d dev删除dev分支
  • git branch -D dev强行删除一个没有被合并过的分支
  • git用<<<<<<<=======>>>>>>>标记出不同分支的内容,我们修改如下后保存
  • git stash把当前工作现场“储藏”起来
  • git stash list查看存储的东西
  • 恢复存储的内容:一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;另一种方式是用git stash pop,恢复的同时把stash内容也删了
  • 远程仓库的默认名称是origin
  • git remote查看远程库的信息
  • git remote -v显示更详细的信息
  • git remote add origin http://..... 将本地仓库与网络仓库连接起来
  • git push origin master把master分支上的所有本地提交推送到远程库origin
多人协作的工作模式通常是这样:
    首先,可以试图用git push origin branch-name推送自己的修改;
    如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
    如果合并有冲突,则解决冲突,并在本地提交;
    没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
    如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name

具体参考此处

扫描二维码关注公众号,回复: 5735498 查看本文章
  • git tag <name>打一个新标签,例如git tag v1.0
  • git tag查看所有标签

标签管理

猜你喜欢

转载自blog.csdn.net/IOSSHAN/article/details/72902855