git用法总结

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

远程库与本地库之间的操作:    

1、在本地新建git仓库:
            新建一个文件夹 mkdir    git init 进行git仓库初始化
            新建一个文档 touch 文件名
2、在本地建一个远程仓库,也是同样的操作,本地的远程仓库也是本地仓库,只是相对位置不一样,可以把它当作远程仓库
3、本地仓库关联本地远程仓库:
            本地仓库localTest1:D:\git_exam\localTest1
            本地远程仓库remoteTest:D:\remoteTest

4、在localTest1本地仓库进行用户和邮件配置 user="test",email="[email protected]"
            git config --global user.name "test"
            git config --global user.email "[email protected]"
5、在localTest1中关联远程:git remote add origin 绝对路径

      git remote add origin ~/Temp/git_server/Test/  不能用相对路径,~代表相对路径
            git remote add origin /d/remoteTest
6、可以查看远程

            git remote         

7、查看远程仓库地址  git remote -v
8、查看配置  git config --list

9、删除远程仓库:git remote rm origin (提示远程仓库已经存在时)

10、关于分支的一些操作

              git checkout -b dev 创建dev分支并切换到该分支
              git checkout dev 切换到dev分支
              git branch 查看当前分支
              git branch -a 查看所有分支
              git branch dev 创建dev分支

              在当前分支dev合并master分支,把master分支的修改同步到dev分支上:git merge master
              查看当前分支的日志:git log
               分支合并图:git log --graph
11、撤销某次提交:git reset

12、查看当前目录:   pwd

13、删除的一些git操作

              删除文件夹:git rm -rf 文件夹名
              删除远程dev分支:git push origin --delete dev
              删除file文件夹及其下所有的文件:git rm file -r -f
              删除文件:git rm 文件名    rm index.html

14、echo用法:

              echo hello world!:直接输出打印hello world!
              echo hello world! > demo.txt //会将hello world!内容重定向打印到demo.txt中
              echo hello Fauss! > demo.txt    //hello Fauss! 会将demo.txt中的hello world!覆盖掉
              echo hello Fauss! >> demo.txt   //hello Fauss!只会追加到demo.txt中的hello world!的后面

15、添加标签:git tag v1.1.1

16、查看文件内容:cat index
17、创建新文件:cat >filename.txt <<EOF

              de>[root@localhost ~]# cat >  linuxsir.txt  << EOF  注:创建linuxsir.org.txt文件;
              > 我来测试 cat 创建文件,并且为文件输入内容;       注:这是为linuxsir.org.txt文件输入内容;
              > 北南南北 测试;                   注:这是为linuxsir.org.txt文件输入内容;
              > EOF   注:退出编辑状态;

18、cat 还有向已存在的文件追加内容的功能;
             de>[root@localhost ~]# cat  linuxsir.txt 注:查看已存在的文件linuxsir.txt 内容;
             I am BeiNanNanBei From LinuxSir.Org .    注:内容行
             我正在为cat命令写文档

            [root@localhost ~]# cat >> linuxsir.txt << EOF   注:我们向linuxsir.txt文件追加内容;
            > 我来测试cat向文档追加内容的功能;       注:这是追回的内容
            > OK?
            > OK~
            > 北南 呈上
            > EOF   注:以EOF退出;

19、新建bug分支
            git checkout -b issue-101
            git add readme.txt
            git commit -m "fix bug 101"
            git checkout master
            git merge --no-ff -m "merged bug fix 101" issue-101

20、新建feature分支:
           git checkout -b feature
           git add vulcan.py
           git status
           git commit -m "add feature vulcan"
           git checkout dev
           git merge --no-ff -m "merged feature" feature

21、从远程克隆一份到本地可以通过git clone
       Git支持HTTPS和SSH协议,SSH速度更快
           git clone [email protected]:/home/git/changyuan/activityTicket.git
           git clone [email protected]:nanfei9330/xx.git

22、本地库关联远程库,在本地仓库目录运行命令:
           git remote add origin [email protected]:nanfei9330/learngit.git
23、推送master分支的所有内容
           git push -u origin master
   第一次使用加上了-u参数,是推送内容并关联分支。
推送成功后就可以看到远程和本地的内容一模一样,下次只要本地作了提交,就可以通过命令:
          git push origin master
24、推送本地分支到远程分支,远程分支是本地分支名
          git push origin 本地分支名(dev_wll):本地分支名(dev_wll)(把本地分支提交到远程分支上,当作远程的dev_wll分支)如果报错,执行一下
          git push origin master,会出现everything up-to-date,然后在执行之前的那句话就好了

          git push origin test:master         // 提交本地test分支作为远程的master分支
          git push origin test:test              // 提交本地test分支作为远程的test分支
 25、拉取远程分支
          git pull:相当于是从远程获取最新版本并merge到本地 
          git pull origin master
    要想把远程的master分支拉下来与本地的dev_wll分支合并,必须先拉下来
          git fetch origin master
          git merge dev_wll

26、查看远程分支状态

       git log origin/dev_wbj

git中修改文件内容的退出,是ESC,其他的退出是ctrl+c

27、有时候git merge 和git pull origin dev_wbj:dev_wll不起作用,但是也不报错,直接用git pull origin dev_wbj,直接合并

28、有时候会遇到这样一个问题:test分支最新的版本是11月29号的,develop分支最新的版本是10月27号,test分支上到10月27号11月3号之间提交的代码,都已正式上线,但是develop分支的代码还未有完整的线上代码。可以使用git的复制命令,git cherry-pick commitId,将test分支上10月27-11月3的代码复制到develop分支上。

如果复制过程中有冲突,可以放弃复制,git cherry-pick --abort。同样的可以得到merge不同分支的时候如果有冲突,放弃合并 git merge --abort

29、版本回退

git reset --hard commitId 直接回退到某个提交版本

git reset --hard HEAD~0  0表示回退到当前提交版本,1表示回退到上一个版本,数字从0开始

猜你喜欢

转载自blog.csdn.net/qq_32847235/article/details/79066867