Git 常用命令

现在常用的代码提交都用SVN和GIT,Git相对于SVN来说有更多的优势。SVN本质上是建立了不同的文件夹保存不同分支的代码,在做代码合并和review的时候有一些痛。

常用的Git管理库,包括github、 gerrit 、gitlab等。本质上都是使用git命令进行管理。

  1. git clone

    a) git clone https://github.com/Alen-Liu/hello-world.git

    项目代码下载可以使用最简单的git clone 实现, 默认切换到master分支。

    b) 如果希望下载其他的分支的代码,可以直接使用 git clone -b master https://github.com/Alen-Liu/hello-world.git

    c) 当然如果下载之后想要切换分支,可以使用git checkout feature 来操作

    下载下来之后,可以查看项目文件夹下的 .git/config 文件,如图:

  2. Git config

    git 默认是用的当前电脑登录的用户名,作为一个好的coder,最好使用自己的公司邮箱或者专用的签名,这样提交的代码都会有自己的tag

    a) git config --global user.name "Alen" 可以用来设置用户名

    b) git config --global user.email "alen@xxx.com" 可以用来设置邮箱

     

    可以查看config里面的配置, url = https://xxxx 这样你每次提交都需要输入代码管理网站的用户名和密码。但是你可以修改配置,避免这种麻烦。

    c) 修改url = username:password@https:/xxxx 这样的方式可以保存。

    d) 一般使用https方式会比较麻烦。代码管理网站都可以配置ssh的方式进行用户认证。

    使用 ssh-keygen 生成ssh密钥,生成之后,把公钥填写到管理网站的对应的位置就可以了。

    使用git clone git@github.com:Alen-Liu/hello-world.git 拉下代码。

  3. Git branch

    git status 当前分支的状态

    git log 提交记录

    git branch -a 查看所有分支

    git branch –r 查看远程分支

    git branch new_name 新建一个分支

    git checkout –b new_name 创建并且切换到一个新的分支

    git checkout xxx_branch 切换到某个分支

    git push origin develop 提交代码到远程分支,如果没有创建这个远程分支

    git push origin –delete develop 删除远程分支

  4. git pull

    a) git pull 拉取远程分支代码并且整合。 这个命令很不安全,当本地存在修改的时候,可能会出现不可知的错误。

    b) git fetch --all 拉取所有远程代码到本地,但是不影响本地的代码。

    c) git reset --hard origin/feature 同步 远程feature 到当前分支,(强制同步,会删除本地修改)

  5. git commit

    a) git add 添加修改到本次待提交区

    b) git commit 编辑当前已在待提交区的代码,生成一次提交信息

    c) git commit -m “提交信息” 快速生成提交并填写提交信息

    d) git commit --amend 把当前待提交区,提交到上次的commit中

    e) git push origin develop 把当前没有推送到远程分支的commit,推送到远程分支。

  6. git merge

    a) git format-patch -n 把当前最近的n个commit,生成一个patch文件。

    b) git am 0001.patch 把0001.patch的修改 打入到当前代码中,并且延用这个patch的提交信息

    c) git apply 0001.patch 把.patch文件中的修改打入到当前代码,但是不自动生成commit

    d) git apply 0001.patch --reject 把.patch文件中的修改打入到当前代码,不自动生成commit, 如果有冲突 生成.rej 冲突文件

  7. others

    a) git blame xxxxxxx.java 查看某个文件的提交人

    b) git show xxxx(commit id) 查看某次提交的提交内容

    c) git diff xxxx.java 查看当前文件修改

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值