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 查看当前文件修改

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值