学习git命令

2017-12-23  本文已影响9人  凯文Kevin21

百度上有很多git的教程,在这里我只推荐一个人:廖雪峰的官方网站

1.git安装

CloverdeiMac $:sudo apt-get install git
  1. 查看是否安装git
CloverdeiMac $:git

3.查看git工具的版本号

CloverdeiMac $:git version

4.设置全局name和email

CloverdeiMac $ git config --global user.name "Your Name"
CloverdeiMac $ git config --global user.email "email@example.com"

5.创建本地版本库

CloverdeiMac $:mkdir learngit
CloverdeiMac $:cd learngit
CloverdeiMac $:pwd
(pwd命令用于显示当前目录,在我的mac上这个仓库位于/User/Clover/learngit)

6.把目录变成Git可以管理的仓库:

CloverdeiMac $:git init
Initialized empty Git repository in /User/Clover/learngit/.git/5.把目录变成Git可以管理的仓库:
CloverdeiMac $:git init
Initialized empty Git repository in /User/Clover/learngit/.git/

7.查看隐藏的.git目录

ls -ah

8.添加文件到git本地仓库,分两步:

第一步: git add read.txt    把文件添加到仓库缓存区

第二步: git commit -m “wrote a read file”  把文件提交到仓库

9.查看git仓库当前的状态

$:git status

10.查询修改的文件内容

$ git diff read.txt

11.查看修改的历史纪录

git log
$:git log --pretty=oneline  简洁版

eg:
d1d9c943fc272d74144e1cdb893ce80385e0e23d add GPL

41db32c4936dd5d579a29b3118c6a7628c61c3d5 add distributed

bfb94db7edcb99a217483a5037ba80ca8257e40c wrote a readme file

Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^

13.回退到上一个版本”add distributed”

$:git reset --hard HEAD^

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

git log

git reset --hard d1d9c943    (d1d9c943是append GPL的commit id的前7位,我们不必写全)
  1. .git不算工作区,而是Git的版本库

查看工作区和版本库里面最新版本的区别:

$ git diff HEAD -- readme.txt

16.文件修改丢弃

(1)丢弃工作区的修改(没有add之前):

$ git checkout -- readme.txt

(2)丢弃工作区的修改(已经add到缓冲区):

$ git reset HEAD readme.txt

$ git checkout -- readme.txt

17.删除文件:

rm test.txt

git status

(yes).确定要删除文件:

$ git rm test.txt

$ git commit -m "remove test.txt"

(no).删错文件了

$ git checkout -- test.txt

18.添加远程库

首先你要登录github, “Create a new repo”按钮,创建一个新的仓库:learngit

目前,在GitHub上的这个learngit仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。

现在,我们根据GitHub的提示,在本地的learngit仓库下运行命令:

$ git remote add origin git@github.com:xieguangming/learngit.git

xieguangming 是你自己GitHub账户名

如果报错:fatal: remote origin already exists.

$ git remote rm origin

$ git remote add origin git@github.com:xieguangming/learngit.git

origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。

19.就可以把本地库的所有内容推送到远程库上:


$ git push -u origin master

如果报错:先cd 到本地仓库目录: $ git push origin master --force

再 $ git push -u origin master

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

推送成功后,可以立刻在GitHub页面中看到远程库的内容已经和本地一模一样:

从现在起,只要本地作了提交(add + commit),就可以通过命令:

$ git push origin master

把本地master分支的最新修改推送至GitHub,现在,你就拥有了真正的分布式版本库!

git@github.com:xieguangming/IOTApp.git

20.git 分支

 git分支查看分支 : git branch

创建分支 : git branch   <name>          //git branch dev

切换分支 : git checkout    <name>     //git branch master

创建+切换分支: git checkout -b    <name>       //git checkout -b dev

合并某分支到当前分支  git merge  <name>         //git merge dev 合并分支dev到master

删除分支 : git branch -d  <name>                    //git branch -d dev

21.配置别名

$ git config --global alias.st status

$ git config --global alias.co checkout

$ git config --global alias.ci commit

$ git config --global alias.br branch

git config --global alias.unstage 'reset HEAD'

git config --global alias.last 'log -1'  //配置一个git last,让其显示最后一次提交信息

git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

22.解决提交代码冲突

当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成

用带参数的git log也可以看到分支的合并情况:

$ git log --graph --pretty=oneline --abbrev-commit

23.提示fatal: remote origin already exists
解决办法

1、先删除远程 Git 仓库
CloverdeiMac $ git remote rm origin

2、再添加远程 Git 仓库
CloverdeiMac  git remote add origin https://github.com/xieguangming/runtime.git

git的使用-CSDN博客

上一篇下一篇

猜你喜欢

热点阅读