힘내 치트 시트

Git은 소프트웨어 개발 수명 주기의 기본 도구가 되었습니다. 그리고 이제 세상이 원격 접근 방식으로 이동하는 것처럼 보이는 시대에 이 기술을 마스터하면 더 나은 팀 플레이어가 되고 수명 주기가 향상되므로 모든 소프트웨어 전문가에게 큰 이점이 될 것입니다.

Git을 가르치는 많은 블로그가 있습니다. 이것들은 내가 강력히 추천하는 것들입니다:
  • Atlassian
  • Git for everyone

  • 또한 일상적인 워크플로에서 사용하는 가장 일반적인 명령을 공유하고 싶습니다. 모두 명령줄을 사용합니다.

    리포지토리 가져오기




    # It works with https or ssh
    $ git clone 'https://github.com/git/git.git'
    


    원산지 변경




    # Sometimes we need to change the repo to other owner or location, 
    # in order to avoid it to be cloned again, we can just change the remote origin.
    $ git remote add origin 'https://github.com/moby/moby.git'
    
    # We can verify the new remote is set correctly
    $ git remote -v
    > origin  https://github.com/moby/moby.git (fetch)
    > origin  https://github.com/moby/moby.git (push)
    


    최신 변경 사항 가져오기




    # Get the latest changes in the remote repository with 'git pull'
    # Remember that specifying the remote 'origin' and the branch name is always a good practice
    $ git pull origin <branch-name>
    
    # Use 'git fetch' to sync your local repository with the remote repository
    # This only includes the metadata, new branches, tags, and tree history
    $ git fetch 
    


    새 분기 만들기




    # Move and create at the same time to a new branch
    # Tip: Use git-flow branch naming convention: feature/*, hotfix/* and so on.
    $ git checkout -b <branch-name>
    


    변경 사항 추가




    # Add changes to Stage
    $ git add <file-name>
    
    # Add ALL changes to Stage
    $ git add .
    
    # Commit changes to the local repository
    $ git commit -m "Commit message"
    
    # Add all and commit at the same time (Only to tracked files)
    $ git commit -am "Commit message"
    
    # Push commits to the remote repository
    $ git push origin <branch-name>
    


    커밋 수정




    # Wrong commit message? No problem. Edit last commit message
    $ git commit --amend -m "New commit message"
    
    # Did you forget some changes and don't want a new commit?
    # Add them to the last commit
    # Warning: Try not to use it a lot 
    $ git add .
    $ git commit --amend --no-edit
    


    커밋 기록 보기




    # Print commit tree in a pretty way
    $ git log --oneline --decorate --graph --all
    


    미완성 작업 저장




    #Save all tracked files (Uncommitted)
    $ git stash
    
    #Save all tracked files with a message (Uncommitted)
    $ git stash push -m "Great message"
    
    # Include untracked and ignored files
    $ git stash --all 
    
    # List saved work
    $ git stash list
    > stash@{0}: WIP on submit: 6ebd0e2... Update git-stash documentation
    > stash@{1}: On master: 9cc0589... Add git-stash
    
    # Apply last saved work to the working directory
    $ git stash pop
    
    # Apply specific saved work to the working directory
    $ git stash pop stash@{1}
    
    # Clean stash
    # Warning: Be sure you don't need anything else before running this command
    $ git clear
    


    로컬 저장소 정리




    # A lot of branches that do no longer exist in the remote repository?
    # Delete them from the local repository...
    $ git fetch -p
    


    실수 처리(경고: 로컬에서만 사용)




    # Unstage file
    $ git reset HEAD -- <file-name>
    
    # Unwanted changes now?, Sync with HEAD
    $ git reset --hard HEAD
    
    # Want to start over? undo n-last commits
    $ git reset --hard HEAD~n
    


    내 자식 별칭




    # I'm using Windows, so, instead of use bash aliases I use the git config option
    git config --global alias.co=checkout
    git config --global alias.br=branch
    git config --global alias.cm=commit
    git config --global alias.st=status
    git config --global alias.unstage=reset HEAD --
    git config --global alias.last=log -1 HEAD
    git config --global alias.po=pull origin
    git config --global alias.ps=!git push origin $(git current)
    git config --global alias.current=branch --show-current
    git config --global alias.pu=push origin
    git config --global alias.pl=!git pull origin $(git current)
    

    좋은 웹페이지 즐겨찾기